package com.lihepeng.leecode.interview_dict;

import org.junit.Test;

/**
 * URL化。编写一种方法，将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符，并且知道字符串的“真实”长度。（注：用Java实现的话，请使用字符数组实现，以便直接在数组上操作。）
 * <p>
 * 示例1:
 * <p>
 * 输入："Mr John Smith    ", 13
 * 输出："Mr%20John%20Smith"
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/string-to-url-lcci
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class Solution0103 {
    public String replaceSpaces(String S, int length) {
        char[] chars = new char[length * 3];
        char[] charArr = S.toCharArray();
        int currentIndex = 0;
        for (int i = 0; i < length; i++) {
            if (charArr[i] == ' ') {
                chars[currentIndex++] = '%';
                chars[currentIndex++] = '2';
                chars[currentIndex++] = '0';
            } else {
                chars[currentIndex++] = charArr[i];
            }
        }
        return new String(chars, 0, currentIndex);
    }

    @Test
    public void runTest() {
        String s = "Mr John Smith    ";
        String s1 = this.replaceSpaces(s, 13);
        System.out.println(s1);
    }

}
